MoveAxisAbsolute

下達一個目標為特定絕對位置之運動指令。

語法

KsCommandStatus MoveAxisAbsolute(
     int Index,
     double Position,
     double Velocity,
     double Acceleration,
     double Deceleration,
     double Jerk,
     McDirection Direction,
     McBufferMode BufferMode
);

參數

Index [in]:軸索引。索引以零為起點;別名將影響此參數。

Position [in]:運動的目標位置,[單位] (正或負值)。

Velocity [in]:最大速度值,若靠近目標位置則不一定會到達最大速度,[單位/秒]。

Acceleration [in]:加速度值,永遠為正值,單位由 McProfileType 類型決定,(馬達的增加電源) [單位/秒2] 或 [秒]。

Deceleration [in]:減速度值,永遠為正值,單位由 McProfileType 類型決定,(馬達的減少電源) [單位/秒2] 或 [秒]。

Jerk [in]:加加速度值,永遠為正值,單位由 McProfileType 類型決定,為 [單位/秒3] 或 [秒]。

Direction [in]:軸移動的方向,請見 McDirection 類型。

BufferMode [in]:定義如何融合兩功能的速度,請見 McBufferMode 類型。

回傳值

返回 KsCommandStatus 結構。

備註

範例

VOID MoveAbsolute(INT Index, DOUBLE Target) {
   //The direction is reserved for cyclic axes so it is currently ignored.
   //Start an absolute move.
   KsCommandStatus status = WaitForCommand(30, TRUE, MoveAxisAbsolute(Index, Target, 
      3600, 36000, 36000, 3600000, mcPositiveDirection, mcAborting));

   //Print the final position.
   double setPosition = 0;
   KsError nRet = GetAxisPosition(Index, mcSetValue, &setPosition);
   double actPosition = 0;
   nRet = GetAxisPosition(Index, mcSetValue, &actPosition);
   
   RtPrintf("Current Position: Target %d, Actual %d\n", (int)setPosition, (int)actPosition);
}

使用需求

  RT Win32
最低支援版本 4.0 4.0
標頭檔 ksmotion.h ksmotion.h
程式庫 KsApi_Rtss.lib KsApi.lib

參見

MoveAxisAdditive

MoveAxisRelative

MoveAxisVelocity

SimulateAxisAbsolute